/**
 * 
 */
package fr.gfi.agraf.service;

import java.util.Date;
import java.util.List;

import fr.gfi.agraf.vue.bean.TacheDTO;

/**
 * @author Fw
 * 
 */
public interface ITacheService {

	/**
	 * Récupere la liste des taches d'une activité ou d'une activité, d'un
	 * utilisateur et d'une date
	 * 
	 * @param idActivite
	 * @param idUtilisateur
	 * @param date
	 * @return
	 */
	public List<TacheDTO> getListeTacheByActiviteAndUtilisateur(final Long idActivite,
			final Long idUtilisateur, final Date date);

	/**
	 * Récupere toute les taches avec saisies d'un utilisateur pour une date de
	 * saisie
	 * 
	 * @param idUtilisateur
	 * @param date
	 * @return
	 */
	public List<TacheDTO> getListeTacheBySaisieDateAndUtilisateur(final Long idUtilisateur, final Date date);

	/**
	 * Enregistre les modification depuis la page d'administration des taches
	 * 
	 * @param listeToAdd
	 * @param tacheToModif
	 * @param tabIdToDelete
	 */
	public void enregistrerModificationTaches(final List<TacheDTO> listeToAdd,
			final List<TacheDTO> tacheToModif, final Long[] tabIdToDelete, final Long idActivite);

}